package de.jmda.gen.java.naming;

/**
 * Enumeration with constants for a package naming strategy. These may be used
 * by e. g. code generators to build package names for generated types.
 *
 *
 */
public enum TargetPackageNamingStrategy
{
	/**
	 * use the specified suffix append strategy (take the name of a package and
	 * append a specified suffix)
	 */
	SUFFIX_APPEND_SPECIFIED,
	/**
	 * use the default suffix append strategy (take the name of a package and
	 * append a default suffix)
	 */
	SUFFIX_APPEND_DEFAULT,
	/**
	 * use the specified suffix replace strategy (take the name of a package and
	 * replace the suffix of the annotated element by the specified suffix)
	 */
	SUFFIX_REPLACE_SPECIFIED,
	/**
	 * use the default suffix replace strategy (take the name of a package and
	 * replace the suffix of the annotated element by the default suffix)
	 */
	SUFFIX_REPLACE_DEFAULT,
	/**
	 * use the qualified name of a package and truncate the last sub package name
	 * from it
	 */
	SUFFIX_TRUNCATE,
	/**
	 * use the qualified name strategy (take the qualified name of a package)
	 */
	QUALIFIED
}